package net.csdn.business.notify.common.pipeline;


import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import net.csdn.business.notify.common.model.vo.NotifyResponseVO;
import net.csdn.business.notify.common.pipeline.domain.ProcessModel;


/**
 * @Author zhangyl
 * @Description 责任链上下文
 * @Date 18:08 2023/11/28
 * @Param
 * @return
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
public class ProcessContext<T extends ProcessModel> {
    /**
     * 标识责任链的类型
     */
    private String processType;
    /**
     * 存储责任链上下文数据的模型
     */
    private T processModel;
    /**
     * 责任链中断的标识
     */
    private Boolean needBreak;
    /**
     * 流程处理的结果
     */
    private NotifyResponseVO response;

    /**
     * 流程处理开始时间戳
     */
    private Long startTime;
    /**
     * 本次处理任务总数
     */
    private Integer total=0;



}
